//api请求
//引入 axios
import axios from 'axios'
//引入store
import store from '../store'

//将axios实例化为 http
const http = axios.create({
    // baseURL:'https://localhost:3030'//公共地址

   baseURL:"http://127.0.0.1:4523/mock/1088229"
})

//添加请求拦截
http.interceptors.request.use(
    //在请求发生之前
    function (config){
        //获取用户的登录凭证
        const token =store.getState().userStore.user.token;//JS 获取
        //通过判断token 是否存在，判断用户是否登录
        //如果用户的token存在 ，就做以下处理
        token && (config.headers.Authorization = "Bearer " + token)//在请求地址的请求头加上 请求名和token（ "Bearer " 为前后端协商的订下的名字 ，自定义）
        //将最新的 config 返回
        return config
    },
    //发生错误的时候
    function (error){
        //对错误的操作
        return Promise.reject(error)//将错误返回 reject
    }
)

//添加响应拦截器
http.interceptors.response.use(
    function (response){
        //直接将后端返回的数据返回
        return response
    },
    function (error){
        //对响应的作物操作
        return Promise.reject(error)
    }
)
//暴露 http
export default http